#ifndef _COMMON_INTERFACE_MAIN_H
#define _COMMON_INTERFACE_MAIN_H

#include "Common.h"
#include "ScriptMgr.h"
#include "CenterFriendManager.h"
#include "CenterBattleManager.h"
#include "CenterBattleLogManager.h"
#include "CenterClubManager.h"
#include "CenterHappyFarmManager.h"
#include "CenterJudgeManager.h"
#include "CRUsersManager.h"
#include "CRGeolocationManager.h"
#include "CenterGameRecordManager.h"
#include "UserGameLogsManager.h"
#include "PubDataManager.h"

#include "GameDefine.h"
#ifdef CENTERMATCH

#include "CenterMatchLogic.h"
#include "CenterMatchLogManager.h"
#include "CenterMatchManager.h"
#include "CenterMatchChannelManager.h"
#endif // CENTERMATCH

initialiseSingleton(CenterFriendsManager);
initialiseSingleton(FriendCategoryManager);
initialiseSingleton(FriendGameRecordsManager);
initialiseSingleton(GameCountInfoManager);
initialiseSingleton(CenterBattleManager);
initialiseSingleton(CenterBattleUserManager);
initialiseSingleton(CenterBattleLogManager);
initialiseSingleton(CenterHappyFarmManager);
initialiseSingleton(CRUserManager);
initialiseSingleton(CenterJudgeManager);
initialiseSingleton(CRGeoLocationManager);
initialiseSingleton(CenterGameRecordManager);
initialiseSingleton(UserGameLogManager);
initialiseSingleton(UserConfigManager);
initialiseSingleton(ChatGroupManager);
initialiseSingleton(ChatGroupPlayerManager);
initialiseSingleton(CenterClubManager);
initialiseSingleton(CenterClubMemberManager);
initialiseSingleton(CenterClubMessageManager);
initialiseSingleton(CenterClubConfigManager);
initialiseSingleton(CenterClubLogsManager);
initialiseSingleton(CenterClubRoomManager);
initialiseSingleton(CenterClubLabelManager);
initialiseSingleton(CenterClubRemarkManager);
initialiseSingleton(GameCommonConfigManager);
initialiseSingleton(GameCommonMissionManager);
#ifdef CENTERMATCH

initialiseSingleton(CenterMatchManager);
initialiseSingleton(CenterMatchPlayerManager);
initialiseSingleton(CenterMatchLogManager);
initialiseSingleton(CenterMatchChannelManager);
initialiseSingleton(CenterMatchZoneManager);
#endif // CENTERMATCH
#define CreateLibSingleton( type ) \
  static  type the##type

void commoninitlibs(void)
{
	CreateLibSingleton(CenterFriendsManager);
	CreateLibSingleton(FriendCategoryManager);
	CreateLibSingleton(FriendGameRecordsManager);
	CreateLibSingleton(GameCountInfoManager);
	CreateLibSingleton(CenterBattleManager);
	CreateLibSingleton(CenterBattleUserManager);
	CreateLibSingleton(CenterBattleLogManager);
	CreateLibSingleton(CenterHappyFarmManager);
	CreateLibSingleton(CRUserManager);
	CreateLibSingleton(CenterJudgeManager);
	CreateLibSingleton(CRGeoLocationManager);
	CreateLibSingleton(CenterGameRecordManager);
	CreateLibSingleton(UserGameLogManager);
	CreateLibSingleton(UserConfigManager);
	CreateLibSingleton(ChatGroupManager);
	CreateLibSingleton(ChatGroupPlayerManager);
	CreateLibSingleton(CenterClubManager);
	CreateLibSingleton(CenterClubMemberManager);
	CreateLibSingleton(CenterClubMessageManager);
	CreateLibSingleton(CenterClubConfigManager);
	CreateLibSingleton(CenterClubLogsManager);
	CreateLibSingleton(CenterClubRoomManager);
	CreateLibSingleton(CenterClubLabelManager);
	CreateLibSingleton(CenterClubRemarkManager);
	CreateLibSingleton(GameCommonConfigManager);
	CreateLibSingleton(GameCommonMissionManager);
#ifdef CENTERMATCH

	CreateLibSingleton(CenterMatchManager);
	CreateLibSingleton(CenterMatchPlayerManager);
	CreateLibSingleton(CenterMatchLogManager);
	CreateLibSingleton(CenterMatchChannelManager);
	CreateLibSingleton(CenterMatchZoneManager);
#endif // CENTERMATCH
}

#endif
